//引入axios
import axios from "axios";
//通过axios创建对象-request 对象，用于发送请求到后端
const request = axios.create({
    timeout: 5000
})
// request 拦截器
// 1. 可以对请求做一些处理
// 2. 比如统一加 token，Content-Type 等
request.interceptors.request.use(config => {
    config.headers['Content-Type'] = 'application/json;charset=utf-8';
    return config
}, error => {
    return Promise.reject(error)
});
//response拦截器
//可以在调用接口响应后，统一处理返回后的结果
request.interceptors.response.use(
    response=>{
        let res=response.data;
        //如果返回的是文件，则直接返回
        if(response.config.responseType==='blob'){
            return res;
        }
        //如果是string,则转成json对象
        if(typeof res==='string'){
            //如果res不为null,就进行json对象的转换
            res=res?JSON.parse(res):res;
        }
        return res;
    },
    error=>{
        console.log("err",error);
        return Promise.reject(error);
    }
)

//导出
export default request


